The following relates to recording and debugging process flows. More specifically, the following relates to recoding, analyzing, debugging, and repairing instances of process flows at design time and/or runtime.
In systems that utilize Business Process Execution Language (BPEL), users rely on modeling business processes during a design time phase, and then executing the model during run-time for automated process integration between services. Modeling such business process involves providing communication links between internal and external services to support business transactions. During the modeling phase, such communication links and services are represented as node instances used to model the system inputs and outputs.
Since business processes often require multiple communication instances, business models often become quite complex. Unfortunately, conventional testing and debugging of such business complex business process models is arduous and inefficient often requiring extensive user testing. For example, during a model testing cycle, designers may use conventional testing systems and debuggers to try to isolate errors in the model. Notating the errors found and communicating such errors between testing personnel and designers is often difficult as often the design and testing teams are separate functions.
Further, when the integration is imposed on a new or updated environment and errors are discovered, it is often difficult for the designers to recreate the errors found by testing, especially if the errors are due to a third party service that is not readily accessible or serviceable. Moreover, some deign time errors may not be caused by a faulty service, but rather may be the result of normal operation of the connected services that have been misinterpreted or incorrectly processed in the new environment. As such, isolating such misidentified service errors results in wasted time and resources especially if the integration invokes endpoints that are not accessible.
Therefore, what is needed is a system and method that allows a user to execute a model in a working environment, record instances, play back the instances in new and/or modified environment, and utilize the play back and system to capture and correct errors in the new and/or updated integration.